#pragma once
#include "cybertron/sensor/noise/TimeNoise.hpp"
#include <chrono>

CYBERTRON_BEGIN

class PeriodicTimeNoise : public TimeNoise
{
public:
	PeriodicTimeNoise(double horizontalAmplitude = 1.0f, double verticalAmplitude = 0.6f, double period = 3600 * 24 * 365);
	virtual ~PeriodicTimeNoise();

	vec3 update() override;

protected:
	double	m_horizontalAmplitude;
	double	m_verticalAmplitude;
	double	m_period;
	vec3	m_initialPhase;
};

CYBERTRON_END